importPackage(Packages.de.elo.ix.client);
importPackage(Packages.de.elo.client.scripting.interfaces);
importPackage(org.apache.commons.io);
importClass(Packages.de.elo.client.scripting.constants.CONSTANTS);
//@include lib_Class.js
//@include lib_moment.js
//@include lib_sol.common.Cache.js
//@include lib_sol.common.Config.js
//@include lib_sol.common.JsonUtils.js
//@include lib_sol.common.SordUtils.js
//@include lib_sol.common.StringUtils.js
//@include lib_sol.common.DateUtils.js
//@include lib_sol.common.IxUtils.js
//@include lib_sol.common.AsyncUtils.js
//@include lib_sol.common.RepoUtils.js
//@include lib_sol.common.SordTypeUtils.js
//@include lib_sol.common.WfUtils.js
//@include lib_sol.common.FileUtils.js
//@include lib_sol.common.HttpUtils.js
//@include lib_sol.common.ZipUtils.js
//@include lib_sol.common.ExecUtils.js
//@include lib_sol.common.UserUtils.js
//@include lib_sol.common.UserProfile.js
//@include lib_sol.common.jc.CommonDialogs.js
//@include lib_sol.dev.jc.GotoId.js
//@include lib_sol.dev.jc.BuildPackages.js
//@include lib_sol.dev.jc.Versions.js
//@include lib_sol.dev.jc.ExecuteRf.js
//@include lib_sol.dev.jc.DownloadBranches.js
//@include lib_sol.dev.install.Installer.js
sol.ns("sol.dev");
sol.dev.extraTabNo = 99;
sol.dev.extraTabName = "TAB_SOL_DEV";
sol.dev.bandBaseNo = 10;
/**
* @class sol.dev.jc.Main
* @singleton
*
* Contructs the JavaClient script.
* Contains all necessary includes.
*
* # Registered buttons
*
* |Name|
* |:------|
* |Build setup package|
* |Build debug setup package|
* |Reload forms|
* |Reload IX scripts|
* |GotoId|
* |Execute RF|
* |Download Branches|
* |Generate report|
* |Validate report|
*
* @author ELO Digital Office GmbH
*
* @requires sol.common.JsonUtils
* @requires sol.common.SordUtils
* @requires sol.common.StringUtils
* @requires sol.common.IxUtils
* @requires sol.common.AsyncUtils
* @requires sol.common.RepoUtils
* @requires sol.common.WfUtils
* @requires sol.common.FileUtils
* @requires sol.common.ZipUtils
* @requires sol.common.jc.CommonDialogs
* @requires sol.dev.jc.GotoId
* @requires sol.dev.jc.BuildPackages
* @requires sol.dev.jc.Versions
* @requires sol.dev.jc.ExecuteRf
* @requires sol.dev.jc.DownloadBranches
*/
/**
* @member global.dev.JavaClientEvents
* For ribbon extensions with the RibbonAdapter.
* These can only be applied during this event. Ribbon extensions
* cannot be taken into account later on.
*/
function eloExpandRibbon() {
var tab, bandNo, bandSetup, bandReload, bandTools, bandVersionsReport, btnBuildSetupPackage,
btnTransportPackage, btnReloadForms, btnReloadIXScripts, btnGoToId, btnExecuteRF,
btnDownloadBranches, btnGenerateReport, btnValidateReport;
if (!workspace.userRights.hasAdminRight()) {
return "";
}
tab = ribbon.addTab(sol.dev.extraTabNo, null, sol.dev.extraTabName);
tab.setTitle("Development");
bandNo = sol.dev.bandBaseNo;
bandSetup = ribbon.addBand(tab.getId(), bandNo++, "bandSetup");
bandSetup.setTitle("Setup");
bandReload = ribbon.addBand(tab.getId(), bandNo++, "bandReload");
bandReload.setTitle("Reload");
bandTools = ribbon.addBand(tab.getId(), bandNo++, "bandTools");
bandTools.setTitle("Tools");
bandVersionsReport = ribbon.addBand(tab.getId(), bandNo++, "bandVersionsReport");
bandVersionsReport.setTitle("Versions report");
btnBuildSetupPackage = ribbon.addButton(tab.getId(), bandSetup.getId(), "btnBuildSetupPackage");
btnBuildSetupPackage.title = "Build setup package";
btnBuildSetupPackage.setIconName("ScriptButton650");
btnBuildSetupPackage.setCallback(function () {
buildSetupPackage();
}, this);
btnTransportPackage = ribbon.addButton(tab.getId(), bandSetup.getId(), "btnTransportPackage");
btnTransportPackage.title = "Build transport package";
btnTransportPackage.setIconName("ScriptButton651");
btnTransportPackage.setCallback(function () {
transportPackage();
}, this);
btnReloadForms = ribbon.addButton(tab.getId(), bandReload.getId(), "btnReloadForms");
btnReloadForms.title = "Reload forms";
btnReloadForms.setIconName("ScriptButton652");
btnReloadForms.setCallback(function () {
reloadForms();
}, this);
btnReloadIXScripts = ribbon.addButton(tab.getId(), bandReload.getId(), "btnReloadIXScripts");
btnReloadIXScripts.title = "Reload IX scripts";
btnReloadIXScripts.setIconName("ScriptButton653");
btnReloadIXScripts.setCallback(function () {
reloadIXScripts();
}, this);
btnGoToId = ribbon.addButton(tab.getId(), bandTools.getId(), "btnGoToId");
btnGoToId.title = "GotoId";
btnGoToId.setIconName("ScriptButton655");
btnGoToId.setCallback(function () {
goToId();
}, this);
btnExecuteRF = ribbon.addButton(tab.getId(), bandTools.getId(), "btnExecuteRF");
btnExecuteRF.title = "Execute RF";
btnExecuteRF.setIconName("ScriptButton656");
btnExecuteRF.setCallback(function () {
executeRF();
}, this);
btnDownloadBranches = ribbon.addButton(tab.getId(), bandTools.getId(), "btnDownloadBranches");
btnDownloadBranches.title = "Download branches";
btnDownloadBranches.setIconName("ScriptButton657");
btnDownloadBranches.setCallback(function () {
downloadBranches();
}, this);
btnGenerateReport = ribbon.addButton(tab.getId(), bandVersionsReport.getId(), "btnGenerateReport");
btnGenerateReport.title = "Generate report";
btnGenerateReport.setIconName("ScriptButton658");
btnGenerateReport.setCallback(function () {
generateReport();
}, this);
btnValidateReport = ribbon.addButton(tab.getId(), bandVersionsReport.getId(), "btnValidateReport");
btnValidateReport.title = "Validate report";
btnValidateReport.setIconName("ScriptButton659");
btnValidateReport.setCallback(function () {
validateReport();
}, this);
}
function buildSetupPackage() {
var packageBuilder = sol.create("sol.dev.jc.BuildPackages", {});
packageBuilder.execute();
}
function transportPackage() {
var packageBuilder = sol.create("sol.dev.jc.BuildPackages", { transport: true });
packageBuilder.execute();
}
function reloadForms() {
sol.common.HttpUtils.sendRequest({ url: "{{eloWfBaseUrl}}/wf/edit.jsp?reload=1&lang=en&ticket={{ticket}}", resolve: true });
workspace.setFeedbackMessage("Forms reloaded");
}
function reloadIXScripts() {
var connFact, conn, timeoutSeconds;
timeoutSeconds = 300;
connFact = sol.common.RepoUtils.createConnFact(ixConnect.connProperties, ixConnect.sessionOptions, {
timeoutSeconds: timeoutSeconds
});
conn = connFact.createFromTicket(ixConnect.loginResult.clientInfo);
conn.ix().reloadScripts();
conn.close();
connFact.done();
workspace.setFeedbackMessage("IX scripts reloaded");
}
function goToId() {
sol.dev.jc.GotoId.execute();
}
function executeRF() {
sol.dev.jc.ExecuteRf.execute();
}
function downloadBranches() {
sol.dev.jc.DownloadBranches.execute();
}
function generateReport() {
sol.dev.jc.Versions.generateReport();
}
function validateReport() {
sol.dev.jc.Versions.validateReport();
}